﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MetaCollection.Framework.Model;

namespace MetaCollection.Framework.Repository
{
	public interface IAuditRepository : IRepository
	{
		/// <summary>
		/// Gets the events for the given item.
		/// </summary>
		/// <param name="item">The item to get the events for</param>
		/// <returns>A stream to read the item's resource from</returns>
		IEnumerable<IItemAudit> GetItemEvents(IItemInstance item);

		/// <summary>
		/// Saves the item event.
		/// </summary>
		/// <param name="item">The item.</param>
		/// <param name="eventType">Type of the event.</param>
		/// <param name="message">The message.</param>
		void SaveItemEvent(IItemInstance item, string eventType, string message);
	}
}
